#ifndef TWODUTIL_H
#define TWODUTIL_H

#include <ogc/gu.h> 

typedef f32 Mtx23[2][3];	// linear 2D transformation matrix
typedef f32 Mtx24[2][4];	// quad coordinates
typedef f32 (*Mtx24P)[4];

// produce an identity matrix rotated
#define guMtx23RotDeg(mt,deg)	guMtx23RotRad(mt, DegToRad(deg))

void guMtx23RotRad(Mtx23 mt, f32 rad);
void guMtx23TransApply(const Mtx23 src, Mtx23 dst,f32 xT,f32 yT);
void guMtx23ScaleApply(const Mtx23 src,Mtx23 dst,f32 xS,f32 yS);
void guMtx24Copy(const Mtx24 src,Mtx24 dst);
void guMtx24Concat(const Mtx23 a,const Mtx24 b,Mtx24 ab);
extern const Mtx24 unitQuad;

#endif
